class Dep {
  constructor () {
    // 存储所有的观察者
    this.subs = []
  }
  // 添加观察者
  addSub (sub) {
    // 判断观察者是否存在，且观察者一定是带有 update方法的
    if (sub && sub.update) this.subs.push(sub)
  }
  // 发送通知
  notify () {
    // 遍历所有观察者，调用观察者 update 方法更新视图
    this.subs.forEach(sub => {
      sub.update()
    })
  }
}